/**
 * 状态模式：允许一个对象在其内部状态改变时改变其行为，看起来就像是改变了其类一样。
 * 
 * 示例需求：
 * 创建一个 State 接口和实现了 State 接口的实体状态类。
 * Context 是一个带有某个状态的类。
 * SimpleMain演示类使用 Context 和状态对象来演示 Context 在状态改变时的行为变化。
 * 
 * 角色：
 * 状态接口：State
 * 具体状态类：StartState、StopState
 * 上下文：Context
 */
public class SimpleMain {
    public static void main(String[] args) {
        Context context = new Context();

        State startState = new StartState();

        State stopState = new StopState();

        startState.doAction(context);
        System.out.println(context.getState().toString());

        stopState.doAction(context);
        System.out.println(context.getState().toString());
    }
}
